package com.wg.net.protocols;

public enum MessageType {
    /**
     * 初始化请求
     */
    InitRequest((byte) 1),
    /**
     * 初始化响应
     */
    InitResponse((byte) 2),
    /**
     * 操作
     */
    Operation((byte) 3),
    /**
     * 操作响应
     */
    OperationResponse((byte) 4),
    /**
     * 内部操作请求
     */
    InternalOperationRequest((byte) 5),
    /**
     * 内部操作响应
     */
    InternalOperationResponse((byte) 6);

    private final byte value;

    MessageType(byte value) {
        this.value = value;
    }

    public byte getValue() {
        return value;
    }

    public static MessageType valueOf(int value) {
        if (value == 1) {
            return InitRequest;
        } else if (value == 2) {
            return InitResponse;
        } else if (value == 3) {
            return Operation;
        } else if (value == 4) {
            return OperationResponse;
        } else if (value == 5) {
            return InternalOperationRequest;
        } else {
            return InternalOperationResponse;
        }
    }
}
